import { useParams } from 'common'
import { PageContainer } from 'ui-patterns/PageContainer'
import { PageSection, PageSectionContent } from 'ui-patterns/PageSection'
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
import { ColumnList } from '@/components/interfaces/Database/Tables/ColumnList'
import DeleteConfirmationDialogs from '@/components/interfaces/TableGridEditor/DeleteConfirmationDialogs'
import { SidePanelEditor } from '@/components/interfaces/TableGridEditor/SidePanelEditor/SidePanelEditor'
import DatabaseLayout from '@/components/layouts/DatabaseLayout/DatabaseLayout'
import DefaultLayout from '@/components/layouts/DefaultLayout'
import { PageLayout } from '@/components/layouts/PageLayout/PageLayout'
import { useTableEditorQuery } from '@/data/table-editor/table-editor-query'
import { isTableLike } from '@/data/table-editor/table-editor-types'
import { useSelectedProjectQuery } from '@/hooks/misc/useSelectedProject'
import { useTableEditorStateSnapshot } from '@/state/table-editor'
import { TableEditorTableStateContextProvider } from '@/state/table-editor-table'
import type { NextPageWithLayout } from '@/types'
const DatabaseTables: NextPageWithLayout = () => {
const snap = useTableEditorStateSnapshot()
const { id: _id, ref } = useParams()
const id = _id ? Number(_id) : undefined
const { data: project } = useSelectedProjectQuery()
const { data: selectedTable, isPending: isLoading } = useTableEditorQuery({
projectRef: project?.ref,
connectionString: project?.connectionString,
id,
})
return (
<>
: (selectedTable?.name ?? '')}
breadcrumbs={[
{
label: 'Tables',
href: `/project/${ref}/database/tables`,
},
]}
size="large"
>
{project?.ref !== undefined && selectedTable !== undefined && isTableLike(selectedTable) && (
)}
>
)
}
DatabaseTables.getLayout = (page) => (
{page}
)
export default DatabaseTables